Output buffers are an integral part of electronics. Their use is wide and diverse. They are used to drive a variety of other devices both active and passive, for example, logic, microprocessors, bus clocks, resistors, capacitors, backplanes, etc. When driving such a variety of devices and depending upon the load presented to the output buffer it is possible to have effects which may not be wanted. For example, ringing, overshoot, undershoot, EMI (electromagnetic interference), etc. This presents a problem.
For example, FIG. 1 illustrates one current approach 100 having a dynamic output control. One of skill in the art will recognize that FIG. 1 uses a level-detect circuit (the feedback inverters connected at the output) to determine when the output has passed a fixed threshold. Once this threshold is passed, the output impedance is increased to provide more effective signal termination, thereby reducing signal over/undershoot. Such an approach is discussed by Ten Eyck in U.S. Pat. No. 6,137,322. However, the approach as illustrated in FIG. 1 has a fixed threshold which limits the range of loads the output can effectively drive. This may present a problem.
FIG. 2 illustrates another current approach 200 having an output control to reduce switching noise. One of skill in the art will recognize that FIG. 2 provides a more gradual feedback mechanism than that illustrated in FIG. 1. Such an approach is discussed by Davis in U.S. Pat. No. 5,036,222. However, the implementation in FIG. 2 uses positive feedback to increase drive strength during switching. This reduces switching-induced noise, but does not aim to reduce signal over/undershoot. This may present a problem.
FIG. 3 illustrates another current approach 300 having a current controlled switch. One of skill in the art will recognize that FIG. 3 uses a cascoded driver stage. Such an approach is discussed by Vajdic et al. in U.S. Pat. No. 4,791,326. However, in the implementation illustrated in FIG. 3, the output drive is a fixed current and there is no feedback from the output. This may present a problem.